package cn.xzqwjw.taskmanager.repository;

import cn.xzqwjw.taskmanager.domain.pojo.Task;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Map;

/**
 * @author wjw
 */
@Repository
public interface TaskMapper extends BaseMapper<Task> {

  /**
   * 设置任务是否启用
   *
   * @param id 任务id
   */
  void patchEnabled(int id);

  /**
   * 设置任务是否完成
   *
   * @param id 任务id
   */
  void patchFinished(int id);

  /**
   * 设置任务status
   *
   * @param paramMap 查询参数Map(status, ids)
   */
  void patchStatus(@Param("paramMap") Map<String, Object> paramMap);

  /**
   * 根据id得到任务详细内容
   *
   * @param id 文章Id
   */
  Task getDetailById(int id);

  IPage<Task> listPage(Page<?> page);

}